From 276a9d756769ea931a4c17fcca68b81b31dfd132 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 27 Sep 2011 04:29:11 +0200 Subject: [PATCH] container: Warn if an invalid widget path is created This makes it quite a bit easier to debug things. --- gtk/gtkcontainer.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index ac9bcf9726..6dd7a3c8ab 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -3377,9 +3377,21 @@ GtkWidgetPath * gtk_container_get_path_for_child (GtkContainer *container, GtkWidget *child) { + GtkWidgetPath *path; + g_return_val_if_fail (GTK_IS_CONTAINER (container), NULL); g_return_val_if_fail (GTK_IS_WIDGET (child), NULL); g_return_val_if_fail (container == (GtkContainer *) gtk_widget_get_parent (child), NULL); - return GTK_CONTAINER_GET_CLASS (container)->get_path_for_child (container, child); + path = GTK_CONTAINER_GET_CLASS (container)->get_path_for_child (container, child); + if (gtk_widget_path_get_object_type (path) != G_OBJECT_TYPE (child)) + { + g_critical ("%s %p returned a widget path for type %s, but child is %s", + G_OBJECT_TYPE_NAME (container), + container, + g_type_name (gtk_widget_path_get_object_type (path)), + G_OBJECT_TYPE_NAME (child)); + } + + return path; } -- 2.30.2